Desktop publishing software programs for personal computers have been available for a number of years. These desktop publishing programs typically allow the author of a document to specify a layout for the document prior to entering content into the document. The author of the document typically selects a set of options from a menu-driven utility and the publishing program automatically produces a generic layout based on the selections made by the author. The author then enters content into the layout to complete the document. Although the author may manually alter the layout one object at a time, the author cannot use the menu-driven utility to automatically alter the entire layout after content has been added to the document. That is, the menu-driven automatic layout utility only operates at the beginning of the document creation process to create a generic layout; it cannot operate on a document that contains author-defined content.
These prior desktop publishing programs have significant shortcomings. For example, consider an author who selects a two-column, horizontal masthead layout for a newsletter. The author selects these parameters from the menu-driven utility, and then enters the content into the document. When the document is complete, the author shows the newsletter to an editor who says, "Great, now lets see it in a three-column layout. I also want to try a four-column layout with a vertical masthead." Unfortunately for the author, these new layouts cannot be created by simply returning to the menu-driven utility and selecting the new layout parameters. To create the new layouts, the author may start over from scratch for each new layout, which requires that the content of the newsletter be entered anew for each new layout. Alternatively, the author may alter the completed two-column newsletter one object at a time to produce each new layout. With either option, the process is time consuming and tedious.
There is, therefore, a need for improved desktop publishing software that allows the author of a content-filled document to use a menu-driven utility to automatically change the layout of the document.